Network administrators run management applications to perform such tasks as detect machines on a network, inventory software and hardware configurations, and send key information back to a central database. At present, such management applications receive this information from a variety of disparate sources.
By way of example, a typical repository for management and system information is a database. A management application submits a query to a database system, which decomposes and executes against a static storage mechanism such as a database stored in a disk file to obtain results. Alternatively, some management applications interface directly with instrumentation that can pull information from device drivers or other software components. For example, a management application may wish to communicate with remote disk drive software to determine how much free space remains on a network drive.
As a result, to handle disparate devices, management applications need to be capable of dealing with the protocol used by each information source, and have other intimate knowledge of the capabilities of that source. For example, even if a management application is equipped to deal with most common protocols, the application must still have knowledge of the format in which results are returned via that protocol. Further, it often becomes impossible for the management application to be able to manage new devices and components after such an application has been written, since new protocols and management methodology may be introduced for those devices.
However, there are many proprietary frameworks, having no common foundation or consistent view. Existing management applications are unable to handle all of these frameworks and views, especially since proprietary frameworks may change each time a vendor introduces new instrumentation.